<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
    <!--
        h3.tighter {
            margin-top: 0px;
        }
        p.hang {
            padding-left: 25px;
            text-indent: -25px;
            margin-top: 0px;
            margin-bottom: 0px;
        }
        p.in1 {
            padding-left: 0px;
        }
        p.tightin1 {
            padding-left: 0px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin1 {
            padding-left: 0px;
            margin-bottom: 2px;
        }
        p.hangingin1 {
            padding-left: 50px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in2 {
            padding-left: 25px;
        }
        p.tightin2 {
            padding-left: 25px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin2 {
            padding-left: 25px;
            margin-bottom: 2px;
        }
        p.hangingin2 {
            padding-left: 75px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in3 {
            padding-left: 50px;
        }
        p.tightin3 {
            padding-left: 50px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin3 {
            padding-left: 50px;
            margin-bottom: 2px;
        }
        p.hangingin3 {
            padding-left: 100px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in4 {
            padding-left: 75px;
        }
        p.tightin4 {
            padding-left: 75px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin4 {
            padding-left: 75px;
            margin-bottom: 2px;
        }
        p.hangingin4 {
            padding-left: 125px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in5 {
            padding-left: 100px;
        }
        p.tightin5 {
            padding-left: 100px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin5 {
            padding-left: 100px;
            margin-bottom: 2px;
        }
        p.hangingin5 {
            padding-left: 150px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in6 {
            padding-left: 125px;
        }
        p.tightin6 {
            padding-left: 125px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin6 {
            padding-left: 125px;
            margin-bottom: 2px;
        }
        p.hangingin6 {
            padding-left: 175px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in7 {
            padding-left: 150px;
        }
        p.tightin7 {
            padding-left: 150px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin7 {
            padding-left: 150px;
            margin-bottom: 2px;
        }
        p.hangingin7 {
            padding-left: 200px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in8 {
            padding-left: 175px;
        }
        p.tightin8 {
            padding-left: 175px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin8 {
            padding-left: 175px;
            margin-bottom: 2px;
        }
        p.hangingin8 {
            padding-left: 225px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in9 {
            padding-left: 200px;
        }
        p.tightin9 {
            padding-left: 200px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin9 {
            padding-left: 200px;
            margin-bottom: 2px;
        }
        p.hangingin9 {
            padding-left: 250px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        div.hr {
            border: 0;
            width: 100%;
            color: #707070;
            background-color: #707070;
            height: 5px;
        }
    -->
</style>
<script type="text/javascript">
    function showExtra(id, imid) {
        if (document.getElementById(id).style.display == 'block') {
            document.getElementById(id).style.display = 'none';
            document.getElementById(imid).src = 'inform:/extra.png';
        } else {
            document.getElementById(id).style.display = 'block';
            document.getElementById(imid).src = 'inform:/extraclose.png';
        }
    }
</script>
</head>
<body><font size=2>
<!--CONTENT BEGINS-->
<!--NAVIGATION BEGINS-->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #e0e0e0"><tr><td width="8"><img src="inform:/tl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/tr_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr><tr><td width="8"></td><td><font size=2><table border="0" cellspacing="0" cellpadding="0" width=100%><tr><td align="left" valign="top" width="72"><font size=2><img border=1 src=inform:/doc_images/Actions.png title="The Actions Index"> &nbsp;&nbsp;&nbsp;&nbsp;</font></td><td align="left" valign="top"><font size=2><h3 class="tighter"><b>Actions</b>: Detail view&nbsp;&nbsp;<a href=../Actions.html><font color="#002060"><i>Back to full view</i></font></a></h3><p>
<p class="tightin1">A single action in detail.<br><i>About the action rulebooks&nbsp;&nbsp;<a href=inform:/doc188.html><img border=0 src=inform:/help.png></a></i></p>
</font></td></tr></table></font></td><td width="8"></td></tr><tr><td width="8"><img src="inform:/bl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/br_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr></table></p><p>
<!--NAVIGATION ENDS-->
<b>Standard actions concerning the actor's vision</b><br><b>Looking</b>&nbsp;<a href=11_A.html><img border=0 src=inform:/Beneath.png></a>, Examining&nbsp;<a href=12_A.html><img border=0 src=inform:/Beneath.png></a>, Looking under&nbsp;<a href=13_A.html><img border=0 src=inform:/Beneath.png></a>, Searching&nbsp;<a href=14_A.html><img border=0 src=inform:/Beneath.png></a>, Consulting it about&nbsp;<a href=15_A.html><img border=0 src=inform:/Beneath.png></a><p><hr><p><b>Looking </b><a name=Look></a> (<i>past tense</i> looked)<br>
<p>The looking action describes the
player's current room and any visible items, but is made more complicated
by the problem of visibility. Inform calculates this by dividing the room
into visibility levels. For an actor on the floor of a room, there is only
one such level: the room itself. But an actor sitting on a chair inside
a packing case which is itself on a gantry would have four visibility levels:
chair, case, gantry, room. The looking rules use a special phrase, 'the
visibility-holder of X', to go up from one level to the next: thus the
visibility-holder of the case is the gantry.<br><br>The 'visibility level count' is the number of levels which the player can
actually see, and the 'visibility ceiling' is the uppermost visible level.
For a player standing on the floor of a lighted room, this will be a count
of 1 with the ceiling set to the room. But a player sitting on a chair in
a closed opaque packing case would have visibility level count 2, and
visibility ceiling equal to the case. Moreover, light has to be available
in order to see anything at all: if the player is in darkness, the level
count is 0 and the ceiling is nothing.<br><br>Finally, note that several actions other than looking also produce room
descriptions in some cases. The most familiar is going, but exiting a
container or getting off a supporter will also generate a room description.
(The phrase used by the relevant rules is 'produce a room description with
going spacing conventions' and carry out or report rules for newly written
actions are welcome to use this too if they would like to. The spacing
conventions affect paragraph division, and note that the main description
paragraph may be omitted for a place not newly visited, depending on the
VERBOSE settings.) Room descriptions like this are produced by running the
check, carry out and report rules for looking, but are not subject to
before, instead or after rules: so they do not count as a new action. The
looking variable 'room-describing action' holds the action name of the
reason a room description is currently being made: if the player typed
LOOK, this will indeed be set to the looking action, but if we're
describing a room just reached by GO EAST, say, it will be set to the going
action. This can be used to customise carry out looking rules so that
different forms of description are used on going to a room as compared with
looking around while already there.<p><hr><p><b>Typed commands leading to this action</b><p>
<p class="hangingin2">&quot;look&quot;</p><p><b>Named values belonging to this action</b><p>
room-describing action - <i>action name</i><br>
abbreviated form allowed - <i>truth state</i><br>
visibility level count - <i>number</i><br>
visibility ceiling - <i>object</i><br>
<p><b>Rules controlling this action</b><p>
<p class="hangingin2">set action variables for&nbsp;&nbsp;&nbsp;&nbsp;<i>looking</i>&nbsp;&nbsp;<font color="#800000">determine visibility ceiling rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1602(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('determine visibility ceiling rule');
}
</script>
<a href="javascript:pasteCode1602()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1603(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The determine visibility ceiling rule is not listed in the setting action variables rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1603()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">instead of&nbsp;&nbsp;&nbsp;&nbsp;<i>looking when collecting names</i>&nbsp;&nbsp;&nbsp;<a href="source:story.ni#line112"><img border=0 src=inform:/Reveal.png></a></p>
<br><p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<font color="#800000">room description heading rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1604(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('room description heading rule');
}
</script>
<a href="javascript:pasteCode1604()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1605(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The room description heading rule is not listed in the carry out looking rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1605()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<font color="#800000">room description body text rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1606(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('room description body text rule');
}
</script>
<a href="javascript:pasteCode1606()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1607(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The room description body text rule is not listed in the carry out looking rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1607()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<font color="#800000">room description paragraphs about objects rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1608(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('room description paragraphs about objects rule');
}
</script>
<a href="javascript:pasteCode1608()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1609(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The room description paragraphs about objects rule is not listed in the carry out looking rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1609()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<font color="#800000">check new arrival rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1610(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('check new arrival rule');
}
</script>
<a href="javascript:pasteCode1610()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1611(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The check new arrival rule is not listed in the carry out looking rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1611()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor looking</i>&nbsp;&nbsp;<font color="#800000">other people looking rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1612(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('other people looking rule');
}
</script>
<a href="javascript:pasteCode1612()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1613(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The other people looking rule is not listed in the report looking rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1613()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p>
<!--CONTENT ENDS-->
</font></body></html>